#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
void p1() {
	for (int i = 1; i <= 9; i++) {
		for (int j = 1; j <= i; j++) {
			printf("%d * %d = %d  ", i, j, i*j);
		}
		printf("\n");
	}
}
void p2() {
	int a[10] = { 0 };
	for (int i = 0; i < 10; i++) {
		a[i] = rand() % 20;
	}
	int max = a[0];
	for (int i = 0; i < 10; i++) {
		if (a[i] > max) {
			max = a[i];
		}
	}
	printf("max: %d", max);
}
void p3() {
	float x = 0;
	for (int i = 1; i <= 100; i++) {
		if ((i - 1) % 2 == 0) {
			x += 1.0 / i;
		}
		else {
			x -= 1.0 / i;
		}
	}
	printf("%f ", x);
}
void p4() {
	int x = 0;
	for (int i = 1; i <= 100; i++) {
		if (i < 10) {
			if (i == 9)
				x++;
		}
		else {
			int a = i / 10, b = i % 10;
			if (a == 9)
				x++;
			if (a == 9)
				x++;
		}
	}
	printf("%d ", x);
}
void p5() {
	
	for (int i = 101; i <= 200; i += 2) {
		int k = 0;
		for (int j = 2; j < i; j++) {
			if (i % j == 0) {
				k = 1;
				break;
			}
		}
		if (k == 0) {
			printf("%d ", i);
		}
	}
	
}
void p6() {
	for (int i = 1000; i <= 2000; i++) {
		if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
			printf("%d ", i);
		}
	}
}
void p7() {
	int x, y;
	scanf("%d%d", &x, &y);
	if (x % y == 0)
	{
		printf("%d", y);
		return;
	}
	if (y % x == 0)
	{
		printf("%d ", x);
		return;
	}
	int max = 0;
	if (x > y) {
		int z = x;
		x = y;
		y = z;
	}
	for (int i = 1; i <= x; i++) {
		if (x % i == 0 && y % i == 0)
			max = i;
	}
	printf("%d ", max);
}
int main() {
	srand(time(NULL));
	p7();
}